ConstantValue 属性
ConstantValue 属性的作用是通知虚拟机自动为静态变量赋值,值域被static关键字修饰的变量(类变量)
才可以使用这项属性。
ConstantValue的属性值只限于基本类型和String。
关于类变量有两种赋值的方式,在类构造器
<clinit>()方法中或者使用ConstantValue属性。目前
Oracle实现的Javac编译器的选择是,如果同时使用final和static来修饰一个变量(其实已经是常量了),并且这个变量的数据类型是基本类型或
java.lang.String,将会生成ConstantValue属性来进行初始化。如果没有被
final修饰或并非基本类型及字符串,则将会在<clinit>()方法中进行初始化。